/*
 * L9IState.h
 *
 *  Created on: 2011-10-18
 *      Author: baixp
 */

#ifndef L9ISTATE_H_
#define L9ISTATE_H_
namespace lib9bada {
/**
 * 提供了Init、Update、Paint方法，这个接口实现了Lib9引擎中的IUP架构，实现该接口的类的实例就是一个具体的状态，Lib9程序就是由不同的状态构成的一个状态机
 */
class L9IState {
public:
//	L9IState();
	virtual ~L9IState();
    /**
     * 负责状态的初始化
     */
    virtual void Init()=0;

    /**
     * 负责状态的逻辑或AI
     */
    virtual void Update()=0;

    /**
     * 负责状态的画面绘制
     */
    virtual void Paint()=0;
};
};

#endif /* L9ISTATE_H_ */
